package com.infore.common.model.entity.exchange;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.infore.common.base.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 任务信息表
 * </p>
 *
 * @author lijh
 * @since 2023-02-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_ex_task_info")
public class TTaskInfo extends BaseModel<TTaskInfo> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "task_id", type = IdType.UUID)
    private String taskId;
    /**
     * 任务名称
     */
    @TableField("task_name")
    private String taskName;
    /**
     * 数据交换参数，一般为t_ex_transform_info中id
     */
    @TableField("transform_params")
    private String transformParams;
    /**
     * 状态 停止：0，运行：1
     */
    @TableField("task_state")
    private Integer taskState;

    /**
     * 运行状态: 运行中 1，未运行 0
     */
    @TableField("running_state")
    private Integer runningState;
    /**
     * 任务类型，表到表同步_tableToTable,接口到表_httpToTable
     */
    @TableField("task_type")
    private String taskType;
    /**
     * 描述
     */
    private String description;
    /**
     * 创建人ID
     */
    @TableField("create_userId")
    private String createUserId;
    /**
     * 创建时间
     */
    @TableField("create_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//从数据库读出日期格式时，进行转换的规则
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//接受从前端传入的日期格式，映射到java类日期属性的规则
    private Date createTime;
    /**
     * 更新人ID
     */
    @TableField("update_userId")
    private String updateUserId;
    /**
     * 更新时间
     */
    @TableField("update_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//从数据库读出日期格式时，进行转换的规则
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//接受从前端传入的日期格式，映射到java类日期属性的规则
    private Date updateTime;


    @Override
    protected Serializable pkVal() {
        return this.taskId;
    }

}
